home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zgehd2.z / zgehd2
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZGGGGEEEEHHHHDDDD2222((((3333FFFF))))                                                          ZZZZGGGGEEEEHHHHDDDD2222((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZGEHD2 - reduce a complex general matrix A to upper Hessenberg form H by
  10.      a unitary similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZGEHD2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
  14.  
  15.          INTEGER        IHI, ILO, INFO, LDA, N
  16.  
  17.          COMPLEX*16     A( LDA, * ), TAU( * ), WORK( * )
  18.  
  19. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  20.      ZGEHD2 reduces a complex general matrix A to upper Hessenberg form H by a
  21.      unitary similarity transformation:  Q' * A * Q = H .
  22.  
  23.  
  24. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  25.      N       (input) INTEGER
  26.              The order of the matrix A.  N >= 0.
  27.  
  28.      ILO     (input) INTEGER
  29.              IHI     (input) INTEGER It is assumed that A is already upper
  30.              triangular in rows and columns 1:ILO-1 and IHI+1:N. ILO and IHI
  31.              are normally set by a previous call to ZGEBAL; otherwise they
  32.              should be set to 1 and N respectively. See Further Details.
  33.  
  34.      A       (input/output) COMPLEX*16 array, dimension (LDA,N)
  35.              On entry, the n by n general matrix to be reduced.  On exit, the
  36.              upper triangle and the first subdiagonal of A are overwritten
  37.              with the upper Hessenberg matrix H, and the elements below the
  38.              first subdiagonal, with the array TAU, represent the unitary
  39.              matrix Q as a product of elementary reflectors. See Further
  40.              Details.  LDA     (input) INTEGER The leading dimension of the
  41.              array A.  LDA >= max(1,N).
  42.  
  43.      TAU     (output) COMPLEX*16 array, dimension (N-1)
  44.              The scalar factors of the elementary reflectors (see Further
  45.              Details).
  46.  
  47.      WORK    (workspace) COMPLEX*16 array, dimension (N)
  48.  
  49.      INFO    (output) INTEGER
  50.              = 0:  successful exit
  51.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  52.  
  53. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  54.      The matrix Q is represented as a product of (ihi-ilo) elementary
  55.      reflectors
  56.  
  57.         Q = H(ilo) H(ilo+1) . . . H(ihi-1).
  58.  
  59.      Each H(i) has the form
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZGGGGEEEEHHHHDDDD2222((((3333FFFF))))                                                          ZZZZGGGGEEEEHHHHDDDD2222((((3333FFFF))))
  71.  
  72.  
  73.  
  74.         H(i) = I - tau * v * v'
  75.  
  76.      where tau is a complex scalar, and v is a complex vector with v(1:i) = 0,
  77.      v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on exit in
  78.      A(i+2:ihi,i), and tau in TAU(i).
  79.  
  80.      The contents of A are illustrated by the following example, with n = 7,
  81.      ilo = 2 and ihi = 6:
  82.  
  83.      on entry,                        on exit,
  84.  
  85.      ( a   a   a   a   a   a   a )    (  a   a   h   h   h   h   a ) (     a
  86.      a   a   a   a   a )    (      a   h   h   h   h   a ) (     a   a   a   a
  87.      a   a )    (      h   h   h   h   h   h ) (     a   a   a   a   a   a )
  88.      (      v2  h   h   h   h   h ) (     a   a   a   a   a   a )    (      v2
  89.      v3  h   h   h   h ) (     a   a   a   a   a   a )    (      v2  v3  v4  h
  90.      h   h ) (                         a )    (                          a )
  91.  
  92.      where a denotes an element of the original matrix A, h denotes a modified
  93.      element of the upper Hessenberg matrix H, and vi denotes an element of
  94.      the vector defining H(i).
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.